1. Field of the Invention
This invention relates generally to the field of computer graphics and, more particularly, to the field of hardware graphics accelerators.
2. Description of the Related Art
Graphics rendering systems may be configured to compute frames of pixels in response to frames of received graphics data. The computed pixels may have a larger dynamic range of luminance than the display devices that will display the output video. Thus, there exists a need for systems and methods capable of compressing the dynamic range of images generated by graphics rendering systems to conform to the dynamic range of display devices such as monitors, projectors, head mounted displays, printers, etc.
Some of the frames generated by the graphics rendering system may have an over-exposed appearance on screen because the magnitude of the computed pixels representing those frames are significantly larger on average than a maximum displayable pixel intensity. Other frames may have an under-exposed appearance because the magnitude of the computed pixels representing those frames are much smaller than the maximum displayable pixel intensity. Furthermore, it is possible that a single rendered frame may have both underexposed portions and overexposed portions. Thus, there exists a need for a system and method that is capable of scaling the intensity of frames of pixels to achieve an optimal amount of average luminance per frame relative to the displayable range of luminosities for a display device.
A software rendering system may be configured to (a) generate supersamples in response to received graphics data and (b) compute pixels by filtering the supersamples. The filtering process may involve the averaging of hundreds of supersamples to determine a single pixel. If the numeric range of the supersamples is limited, a single sample may not have sufficient energy to turn on a pixel by itself. Thus, when rendering a dot, it may be necessary to represent the dot (or line) with a set (e.g., a disk shaped region) of supersamples centered on the dot position. Furthermore, the transparency values of the set of supersamples may be ramped down to zero as some function of radius with respect to the dot position to avoid jaggedness in the dot's onscreen appearance. The filtering performed in (b) further smoothes and widens the dot. A one-dimensional object such as a line segment may also require representation as a set (e.g. a rectangle) of supersamples and transparency modulation to avoid the anti-aliasing artifacts. Thus, zero-dimensional or one-dimensional objects may end up non-trivially occluding portions of more distant objects. Therefore, there exists a need for a system and method capable of rendering dots and lines in a manner that avoids aliasing artifacts, and yet, reduces (or minimizes) the occlusion of more distant objects (or portions of objects).